Technote 1143Introducing the LaserWriter 8 Driver Version 8.6Apple Worldwide Developer Technical Support |
CONTENTS
Apple Type Services for Unicode Imaging (ATSUI) |
This Technote outlines some of the new features and changes that Apple has made with the LaserWriter 8 version 8.6 release. It describes new utilities, expanded technology support, and what this means to you, the developer. LaserWriter 8.6 is supported on Mac OS 7.6.1 and above, and on 68040 and PowerPC machines only. |
ATSUI (Apple Type Services for Unicode Imaging)LaserWriter 8.6 offers direct to PostScript translation of the new Apple Type Services calls. These calls, along with LaserWriter 8.6, offer precise placement of glyphs, large-character set support, and text transformations. Without adding ATSUI support to the driver, an ATSUI document will print as a bitmap and thus slow down printing--LaserWriter 8.6 takes care of this problem. Please see the ATSUI documentation for more information on the new APIs.Download ManagerToday's desktop printers are capable of downloading both PostScript and Encapsulated PostScript (EPS) files. This capability is an important feature which we have improved. In LaserWriter 8.6, when downloading a DSC-conformant PostScript or EPS file, the new PostScript downloader will supply fonts used, but not included, in the document or available in the printer. LaserWriter 8.6 includes downloaders for the following file formats: PostScript, Encapsulated PostScript (EPS), PICT, and JPEG. In the future, Apple is considering adding support for PDF and TIFF file formats. An API has been provided to allow third parties to create plug-ins for other file formats. See Technote 1171 "How to Write a Converter Plug-in for the Download Manager" for more information on this API. |
Note: If the Download Manager cannot handle the file dropped on it, desktop printing will act as is does today; it will ask the document's owning application to print the document. |
External Custom Hoses
LaserWriter 8.6 is capable of printing over a variety of communications channels. Built into LaserWriter 8.6's |
Note: The Printer Descriptions folder is located in different places for different versions of the Mac OS: |
7.x | System Folder: Extensions: Printer Descriptions |
8.0 and 8.1 | System Folder: Printer Descriptions (LW 8 looks in System Folder: Extensions: Printer Descriptions) |
8.5 | System Folder: Extensions: Printer Descriptions |
Euro Glyph LaserWriter 8 has always maintained a set of glyphs which, when printed, are pulled from the Symbol font rather than from the font used on the Macintosh. LaserWriter 8.6 adds the new Euro glyph to this set when the font uses the Mac Standard encoding (bit 1 of the Font Classification work in the font's FOND resource is set). When an application prints using the Euro glyph in a given font, LaserWriter 8.6 switches to the Symbol font and prints the glyph in that font. PostScript Level 3 printers have the Euro glyph in the Symbol font, and therefore present no special problems. Printers having interpreters prior to Level 3 do not contain the Euro glyph and to compensate, LaserWriter 8.6 downloads a Euro glyph character and maps it into the resident Symbol font. See Technote 1146: "LaserWriter 8 and Fonts" for more information on character encodings. See Technote 1140 "The Euro Currency Symbol" for more information on Apple's support for the Euro symbol in its OS releases. Transferable Preferences FilesDue to numerous requests from users, Apple has added the ability to transfer LaserWriter 8 preferences files from machine to machine. What this means is that you can now use a tool like RevRdist to clone your disk across several machines while maintaining your LaserWriter preference settings.PrGeneral opcodesTable 1 lists the currentPrGeneral opcodes that are implemented and supported by the LaserWriter 8.6 driver. With the Japanese-localized LaserWriter 8.6 release, the driver added a PrGeneral call for partial font downloading.
|
Table 1 | Opcode Operation | Minimum LW 8 version |
---|---|---|
4 | getRslDataOp |
8.0 and above |
5 | setRslOp |
8.0 and above |
6 | draftBitsOp |
8.0 and above |
7 | noDraftBitsOp |
8.0 and above |
8 | getRotnOp |
8.0 and above |
9 | NoGrayScl |
not used by LaserWriter 8 |
10 | getPSInfoOp |
8.0 and above |
11 | PSIntentionsOp |
8.0 and above |
12 | enableColorMatchingOp |
8.5.1 and above |
13 | registerProfileOp |
ColorSync 1.x only; not used by LaserWriter 8 |
14 | PSAdobeOp |
8.0 and above |
15 | PSPrimaryPPDOp |
8.0 and above |
16 | kLoadCommProcsOp |
8.0 and above |
17 | kUnloadCommProcsOp |
8.0 and above |
18 | kExtendPrintRecOp |
8.4 and above |
19 | kGetExtendedPrintRecOp |
8.4 and above |
20 | kPrinterDirectOpCode |
not used by LaserWriter 8 |
21 | kSetExtendedPrintRecOp |
8.4 and above |
22 | kPrVersionOp |
8.4 and above |
23 | kDTPGetPrinterInfo |
not used by LaserWriter 8; 3rd party desktop printing |
24 | kDTPIsSamePrinterInfo |
not used by LaserWriter 8; 3rd party desktop printing |
25 | kDTPSetDefaultPrinterInfo |
not used by LaserWriter 8; 3rd party desktop printing |
26 | kPrEnablePartialFonts |
8.6--Japanese localization only |
Please refer to "Meet PrGeneral , the Trap that Makes the Most of the Printing Manager" in develop Issue 3 for more information on PrGeneral .
|
Note: The ability to download partial fonts containing only the glyphs used within a document has been added to Japanese localization of the LaserWriter 8.6 driver. Partial font support is only provided for applications that take advantage of the new ATSUI APIs. Please be aware that applications that use the PostScriptBegin picture comment (and its variants) will not be provided with partial fonts unless they use the new PrGeneral opcode, kPrEnablePartialFonts . Many of these PostScript applications rely upon the LaserWriter driver to download a complete font. A new PrGeneral call has been created so that these applications can enable partial font downloading. LaserWriter 8 "trusts" the kPrEnablePartialFonts PrGeneral opcode, so you should not be embedding any other font data comments in the PostScript you download. The partial font downloading occurs only when background printing is enabled. This is due to the fact that the driver needs to know the set of glyphs that the job will use when it begins to emit PostScript.
|
PrintingLib librariesPrintingLib 8.6 contains a large number of code fragments, some of which have been documented for use by developers. The code fragments discussed in other documents include:
Settings Library The Settings Library within PrintingLib provides access to the printer database maintained by LaserWriter 8. Developers can obtain the driver's current information about and current settings for a given desktop printer, and can enumerate known desktop printers. See Technote 1113: "The Settings Library" for more information.
The Download Manager The Download Manager enables developers to convert file formats to PostScript and to transmit the PostScript file to a printer. PrintingLib includes support for PostScript, EPS, JPEG, and PICT file formats, but the Download Manager allows the addition of external code fragments in order to a support other file formats. See Technote 1169 "The Download Manager" and Technote 1171 "How To Write a Converter Plug-in for the Download Manager" for more information.
The Printing Plug-ins Manager Shared libraries containing code fragments can be placed into the new "Printing Plug-ins" folder in order to extend the base functionality present in PrintingLib . The Printing Plug-ins manager gives developers a way in which to enumerate and search the capabilities of these plug-ins. See Technote 1170 "Printing Plug-ins Manager" and Technote 1144 "Writing Custom Hoses for LaserWriter 8.6" for details.
|
Technotes mentioned in the note are or will be available from Apple's Technote web site: |
Thanks to Thanks to Rich Blanchard, Howard Miller, and Paul Danbold.